
'''
Created on Sept 16, 2013

@author: Patrick Janssen
'''
import core.modules.module_registry
from files import FilePrint, FileView, FileViewPlus
from houdini import Houdini, HoudiniMapper
from radiance import RadianceMapper, RadianceSky, RadianceOconv, RadianceRtrace, RadianceResults
from rhino import Rhino
from vtk import VtkMapper
from parameters import Parameters, ParametersX, ParametersDict
from transform import TransAddScalars, TransFilter

''' ---------------------------------------------------------------------------
*  _modules
--------------------------------------------------------------------------- '''

_modules =[
    (Houdini, {
        'moduleColor':(0.1,0.9,0.1),
        'moduleFringe':[
            (0.0, 0.0),
            (0.2, 0.0),
            (0.0, 0.2),
            (0.2, 0.4),
            (0.0, 0.6),
            (0.2, 0.8),
            (0.0, 1.0)
        ]}),
    (HoudiniMapper,  {
        'moduleColor':(0.5,0.0,0.5),
        'moduleLeftFringe' : [
            (0.0, 0.0),
            (0.0, 0.5),
            (0.0, 1.0)
        ],
        'moduleRightFringe' : [
            (0.0, 0.0),
            (0.2, 0.5),
            (0.0, 1.0)
        ]}),
    (RadianceMapper, {
        'moduleColor':(0.5,0.0,0.5),
        'moduleLeftFringe' : [
            (0.0, 0.0),
            (-0.2, 0.5),
            (0.0, 1.0)
        ],
        'moduleRightFringe' : [
            (0.0, 0.0),
            (0.0, 0.5),
            (0.0, 1.0)
        ]}),
    (RadianceSky, {
        'moduleColor':(0.0,0.0,1.0),
        'moduleFringe':[
            (0.0,0.0),
            (0.2,0.0),
            (0.2,0.4),
            (0.0,0.4),
            (0.0,1.0)
        ]}),
    (RadianceOconv, {
        'moduleColor':(0.1,0.9,0.1),
        'moduleFringe':[
            (0.0, 0.0),
            (0.2, 0.0),
            (0.0, 0.2),
            (0.2, 0.4),
            (0.0, 0.6),
            (0.2, 0.8),
            (0.0, 1.0)
        ]}),
    (RadianceRtrace, {
        'moduleColor':(0.1,0.9,0.1),
        'moduleFringe':[
            (0.0, 0.0),
            (0.2, 0.0),
            (0.0, 0.2),
            (0.2, 0.4),
            (0.0, 0.6),
            (0.2, 0.8),
            (0.0, 1.0)
        ]}),
    (RadianceResults, {
        'moduleColor':(0.0,0.0,1.0),
        'moduleFringe':[
            (0.0,0.0),
            (0.2,0.0),
            (0.2,0.4),
            (0.0,0.4),
            (0.0,1.0)
        ]}),
    (Rhino,  {
        'moduleColor':(0.1,0.9,0.1),
        'moduleFringe':[
            (0.0, 0.0),
            (0.2, 0.0),
            (0.0, 0.2),
            (0.2, 0.4),
            (0.0, 0.6),
            (0.2, 0.8),
            (0.0, 1.0)
        ]}),
    (VtkMapper,  {
        'moduleColor':(0.5,0.0,0.5),
        'moduleLeftFringe' : [
            (0.0, 0.0),
            (-0.2, 0.5),
            (0.0, 1.0)
        ],
        'moduleRightFringe' : [
            (0.0, 0.0),
            (0.0, 0.5),
            (0.0, 1.0)
        ]}),
    (Parameters, {
        'moduleColor':(0.0,0.0,1.0),
        'moduleFringe':[
            (0.0,0.0),
            (0.2,0.0),
            (0.2,0.4),
            (0.0,0.4),
            (0.0,1.0)
        ]}),
    (ParametersX, {
        'moduleColor':(0.0,0.0,1.0),
        'moduleFringe':[
            (0.0,0.0),
            (0.2,0.0),
            (0.2,0.4),
            (0.0,0.4),
            (0.0,1.0)
        ]}),
    (ParametersDict, {
        'moduleColor':(0.0,0.0,1.0),
        'moduleFringe':[
            (0.0,0.0),
            (0.2,0.0),
            (0.2,0.4),
            (0.0,0.4),
            (0.0,1.0)
        ]}),
    (FileView,  {
        'moduleColor':(0.0,0.0,1.0),
        'moduleFringe':[
            (0.0,0.0),
            (0.2,0.0),
            (0.2,0.4),
            (0.0,0.4),
            (0.0,1.0)
        ]}),
    (FileViewPlus, {
        'moduleColor':(0.0,0.0,1.0),
        'moduleFringe':[
            (0.0,0.0),
            (0.2,0.0),
            (0.2,0.4),
            (0.0,0.4),
            (0.0,1.0)
        ]}),
    (FilePrint, {
        'moduleColor':(0.0,0.0,1.0),
        'moduleFringe':[
            (0.0,0.0),
            (0.2,0.0),
            (0.2,0.4),
            (0.0,0.4),
            (0.0,1.0)
        ]}),
    (TransAddScalars, {
        'moduleColor':(0.9,0.0,0.1),
        'moduleLeftFringe' : [
            (0.0, 0.0),
            (-0.2, 0.5),
            (0.0, 1.0)
        ],
        'moduleRightFringe' : [
            (0.0, 0.0),
            (0.2, 0.5),
            (0.0, 1.0)
        ]}),
    (TransFilter,  {
        'moduleColor':(0.9,0.0,0.1),
        'moduleLeftFringe' : [
            (0.0, 0.0),
            (-0.2, 0.5),
            (0.0, 1.0)
        ],
        'moduleRightFringe' : [
            (0.0, 0.0),
            (0.2, 0.5),
            (0.0, 1.0)
        ]}),
]

#Seems like a bug with namespaces - why does this not work
"""
_modules = [
    (Houdini, {'namespace': 'Houdini'}), 
    (HoudiniMapper, {'namespace': 'Houdini'}), 
    (Rhino, {'namespace': 'Rhino'}), 
    (VtkMapper, {'namespace': 'Vtk'}), 
    (PrintFile, {'namespace': 'Files'}), 
    (ViewFile, {'namespace': 'Files'})
]"""
